// var let const import, function class
/*
let x
console.log(x)
console.log(this)
function f(arg) {
  let x
  console.log(arg)
  console.log(arguments)
}
f()
f("1", 1, 234, "hah")*/
// eval("alert('hi')")
// $.ajax()
// $.post()
// $.get("", "")

let obj = {
  x: 10,
  fn() {
    console.log(this)
    console.log(this.x)
  }
}
// obj.fn()
// let f1 = obj.fn
// call, apply 绑定this
// f1.call(obj)
// f1.apply(obj)
// f1()

let obj1 = {
  x: 888,
  fn() {
    // function f() {
    const f = () => {
      console.log(this)
      console.log(this.x)
    }
    f()
  }
}
obj1.fn()

// let f1 = obj.fn.bind(obj)
// 绑定this，但是返回新的函数，不管如何调用永远是绑定的对象
// f1()
// 箭头函数，在哪定义谁就是this


















